package jm.nj.demo11main.demo01;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

/*
 * java.io.outputStream
 * 使用字节输出流写子节数组的方法
 * void write (byte[] b)写入字节数组
 * void write(byte[] b,int off, int len)写入字节数组,off是开始的索引,冷是写几个
 *
 *
 *
 * */
public class Demo02OutputStream {
    public static void main(String[] args) throws IOException {
        //创建字节输出流对象
        FileOutputStream fos = new FileOutputStream(new File("b.txt"));
        //调用数据的方法,把数据写入数组
        //void write (byte[] b)    写入字节数组

        /*
         * 写入多个字节
         * 第一个写入正数:显示的时候会查询ASCII码
         * 第一个字节输入负数:查询GBK码,2个字节显示为一个中文
         * 写入中文的时候要注意,第一个字节必须是负数,第二个字符可以是整数可以是负数
         *
         * */
        byte[] bytes = {65, 66, 67, 68, 69};//ABCDE
        //byte[] bytes = {-65,-66,-67,68,-69,-70};//烤紻缓
        fos.write(bytes);

        //void write(byte[] b, int off, int len) 写入字节数组,off是开始的索引,len写几个
        fos.write(bytes, 1, 2);
        /*
         * 字节数组的终极写法
         * String类中的方法
         * char[] toCharArray() 把一个字符串变成一个字符数组
         * byte[] getBytes()  把一个字符串变成一个字节数组
         */

        bytes = "哈哈".getBytes();
        System.out.println(Arrays.toString(bytes));
        fos.write(bytes);

        fos.close();

    }


}
